# -*- coding: iso-8859-2 -*-

import os
import logging
import traceback
import re
import string

from authorshipanalyzer.textmodifier import Editor
from authorshipanalyzer.message import Message

class HTMLFilter(Editor):
    '''
    Class removing html tags from email text message
    '''
    
    def editMessage(self, message):
        content = message.getText()
        content = re.sub('<(?!(?:a\s|/a|!))[^>]*>', '', content)
        content = re.sub('<a (class=[\"\w\d\-]+)? href=\"[@\w\d\.:\/]+\">', '', content)
        content = re.sub('</a>', '', content)
        content = re.sub("&lt; */? *\w+ */?\ *&gt;", '', content)
        content = re.sub("<!.+>", '', content)
        content = content.strip()
        
        if content == "":
            return False
        
        message.setText(content)
        return True
        
    def __str__(self):
        return __name__
    
if __name__ == "__main__":
     a = HTMLFilter()
     message = Message()
     message.setText("""
     Witam wszystkich,<br><br>Firma, w ktorej pracuje - Leliwa (<a href="http://www.leliwa.com">www.leliwa.com</a>) - nieustannie szuka fachowcow z dziedziny telekomunikacji i IP na stanowisko specjalisty ds. szkolen.<br><br>Na czym polega praca? Prowadzimy szkolenia w roznych czesciach swiata. Szkolenia dotycza glownie obslugi sprzetu sieciowego, ale tez prezentacji rozwiazan sprzetowych Ericssona, planowania sieci komorkowych (czesc radiowa i czesc szkieletowa sieci) oraz zasad dzialania sieci komorkowych.<br>
<br>Praca jest niekonwencjonalna i wymaga odpowiedniego charakteru, chocby ze wzgledu na podroze, jest w wiekszosci samodzielna, wymaga pewnej samodyscypliny (bedac w kraju, nie trzeba pojawiac sie w biurze, ale tez trzeba sie przygotowywac do nastepnego szkolenia i zwykle robimy to w domu), odpornosci na stres. Aktualnie glownym naszym rynkiem jest Afryka, ale nasi instruktorzy sa na kazdym kontynencie.<br>
<br>Aktualnie potrzeba nam przede wszystkim ludzi, ktorzy dobrze znaja
sieci IP/ATM i techniki z nimi zwiazane. Wezly sieci GPRS opieraja sie po czesci na ruterach M20 Junipera, jezeli ktos takie zna, to przyjmiemy go z otwartymi rekami. Poszukujemy osob, ktore szybko potrafia nauczyc sie konfiguracji i obslugi wezlow SGSN i GGSN.<br>
<br>Bardzo przydalby sie nam tez ktos,
kto umialby sie szybko nauczyc obslugi wezlow tradycyjnych sieci komorkowych: MSC Server, MGw, BSC, HLR/AUC, RNC.<br><br>Zapewniamy oczywiscie szkolenia w odpowiedniej tematyce technicznej oraz wszelakie pomoce ulatwiajace nauke.<br>
<br>Warunkiem koniecznym jest znajomosc jezyka angielskiego - w tym jezyku pracujemy. Jezyk francuski ***bardzo*** mile widziany, polowa Afryki zyje w tym jezyku i czesto prowadzimy tam szkolenia po francusku.<br><br>System wynagradzania premiuje przede wszystkim gotowosc do czestych wyjazdow i jest atrakcyjny.<br>
<br>Nasza firma istnieje od roku 1995 i <a class="moz-txt-link-rfc2396E" href="mailto:adam.laczynski@gmail.com">pracuje u nas obecnie 15 instruktorow.<br><br>Jezeli kogos zainteresowalem, prosze o kontakt pod adresem <a href="mailto:bartosz.nitka@leliwa.com">bartosz.nitka@leliwa.com</a>, ewentualnie prosze o bezposrednio kontakt z dzialem rekrutacji pod adresem <a href="mailto:jobs@leliwa.com">jobs@leliwa.com</a>.<br>
<br>Pozdrawiam, Bartek<br><br><br><br><br><br><br>
     """)
     a.editMessage(message)   
     print message.getText()